Uitwisselprofiel Ministerie van VWS Beleidsontwikkeling over Macro-Economische Vraagstukken en Arbeidsmarkt

Over Uitwisselprofiel Ministerie van VWS Beleidsontwikkeling over Macro-Economische Vraagstukken en Arbeidsmarkt


Publicatiedatum:
22-01-2026

Inwerkingtreding:
01-03-2026

2.3. Wat is het aantal werknemers met een zorgverlener functie per kwalificatieniveau per soort werkovereenkomst?

Concepten

Relaties

Eigenschappen

SPARQL query

Code gekopieerd

...

Kopieer naar klembord

1# Indicator: MEVA 2.3
2# Parameters: ?jaar
3# Ontologie: versie 3.0 of nieuwer
4
5PREFIX onz-org: <http://purl.org/ozo/onz-org#>
6PREFIX onz-g:   <http://purl.org/ozo/onz-g#>
7PREFIX onz-pers:<http://purl.org/ozo/onz-pers#>
8PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
9PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>
10
11SELECT
12  ?Periode
13  (?vestiging AS ?Indeling)
14  (?zk_regio_code AS ?Zorgkantoorregio_code)
15  (?kwalificatie_niveau AS ?Kwalificatieniveau)
16  (SUM(?onbep_flag)  AS ?Aantal_ZV_medewerkers_onbepaalde_tijd)
17  (SUM(?bep_flag)    AS ?Aantal_ZV_medewerkers_bepaalde_tijd)
18  (SUM(?oproep_flag) AS ?Aantal_ZV_medewerkers_oproep)
19  (SUM(?bbl_flag)    AS ?Aantal_ZV_medewerkers_BBL)
20  (SUM(?inhuur_flag) AS ?Aantal_ZV_medewerkers_inhuur)
21  (SUM(?uitzend_flag)AS ?Aantal_ZV_medewerkers_uitzend)
22  (SUM(?stage_flag)  AS ?Aantal_ZV_medewerkers_stage)
23  (SUM(?vrijw_flag)  AS ?Aantal_ZV_medewerkers_vrijwilliger)
24  (SUM(?present_flag) AS ?Totaal)
25WHERE {
26  {
27    SELECT
28      ?Periode
29      ?vestiging
30      ?zk_regio_code
31      ?kwalificatie_niveau
32      ?persoon
33      (MAX(?is_onbep)  AS ?onbep_flag)
34      (MAX(?is_bep)    AS ?bep_flag)
35      (MAX(?is_oproep) AS ?oproep_flag)
36      (MAX(?is_bbl)    AS ?bbl_flag)
37      (MAX(?is_inhuur) AS ?inhuur_flag)
38      (MAX(?is_uitzend)AS ?uitzend_flag)
39      (MAX(?is_stage)  AS ?stage_flag)
40      (MAX(?is_vrijw)  AS ?vrijw_flag)
41      (1 AS ?present_flag)
42    WHERE {
43      #BIND(2024 AS ?jaar)
44      VALUES ?kw { 1 2 3 4 0 }   # 0 = Totaal jaar
45      BIND(xsd:integer(?jaar) AS ?_jaar)
46
47      BIND( IF(?kw=0,
48               xsd:date(CONCAT(STR(?_jaar), "-01-01")),
49               xsd:date(CONCAT(STR(?_jaar), "-",
50                               IF(?kw=1,"01-01",
51                               IF(?kw=2,"04-01",
52                               IF(?kw=3,"07-01","10-01")))))
53          ) AS ?p_start )
54
55      BIND( IF(?kw=0,
56               xsd:date(CONCAT(STR(?_jaar), "-12-31")),
57               xsd:date(CONCAT(STR(?_jaar), "-",
58                               IF(?kw=1,"03-31",
59                               IF(?kw=2,"06-30",
60                               IF(?kw=3,"09-30","12-31")))))
61          ) AS ?p_eind )
62
63      BIND( IF(?kw=0, "Totaal jaar", CONCAT("Q", STR(?kw))) AS ?Periode )
64
65      # -- Overeenkomsten & afspraken (alle relevante typen) --
66      VALUES ?type_overeenkomst {
67        onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd
68        onz-pers:ArbeidsOvereenkomstBepaaldeTijd
69        onz-pers:OproepOvereenkomst
70        onz-pers:ArbeidsOvereenkomstBBL
71        onz-pers:InhuurOvereenkomst
72        onz-pers:UitzendOvereenkomst
73        onz-pers:StageOvereenkomst
74        onz-pers:VrijwilligersOvereenkomst
75      }
76
77      ?overeenkomst a ?type_overeenkomst ;
78                    onz-pers:heeftOpdrachtnemer ?persoon ;
79                    onz-g:hasPart ?overeenkomst_afspraak .
80
81      ?overeenkomst_afspraak a onz-pers:WerkOvereenkomstAfspraak ;
82                              onz-g:startDatum ?start_afspraak ;
83                              onz-g:isAbout ?functie, ?locatie .
84      OPTIONAL { ?overeenkomst_afspraak onz-g:eindDatum ?eind_afspraak }
85
86      FILTER( ?start_afspraak <= ?p_eind &&
87              ( !BOUND(?eind_afspraak) || ?eind_afspraak >= ?p_start ) )
88
89      # -- Zorgverlener functie + kwalificatieniveau --
90      ?functie a onz-pers:ZorgverlenerFunctie ;
91               onz-g:hasQuality / onz-g:hasQualityValue ?functie_niveau .
92      ?functie_niveau a onz-pers:ODBKwalificatieWaarde ;
93                      rdfs:label ?kwalificatie_niveau .
94
95      ?locatie a onz-g:StationaryArtifact ;
96               onz-g:partOf* ?vestiging_uri .
97        {
98           # Tak 1: echte vestiging + afleiding zorgkantoorregio
99           ?vestiging_uri a onz-org:Vestiging ;
100                          onz-g:identifiedBy ?vest_nr ;
101                          onz-g:hasLocalizableArea/onz-g:identifiedBy/onz-g:hasPart/onz-g:hasPart ?postcode_6 .
102           ?vest_nr a onz-org:Vestigingsnummer ;
103                    onz-g:hasDataValue ?vestiging .
104
105           BIND( IRI(SUBSTR(STR(?postcode_6), 1, STRLEN(STR(?postcode_6)) - 2)) AS ?postcode )
106           ?pc_gebied onz-g:identifiedBy ?postcode ;
107                      onz-g:partOf+ ?zk_regio .
108           ?zk_regio a onz-org:ZorgkantoorRegio .
109
110           BIND( STRAFTER(STR(?zk_regio), "/onz-org/") AS ?zk_regio_code )
111         }
112         UNION
113         {
114           # Tak 2: totaal organisatie, laat zorgkantoorregio leeg
115           ?vestiging_uri onz-org:vestigingVan ?organisatie_uri .
116           BIND("Totaal organisatie" AS ?vestiging)
117         }
118
119      BIND( IF(?type_overeenkomst = onz-pers:ArbeidsOvereenkomstOnbepaaldeTijd, 1, 0) AS ?is_onbep )
120      BIND( IF(?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBepaaldeTijd,   1, 0) AS ?is_bep )
121      BIND( IF(?type_overeenkomst = onz-pers:OproepOvereenkomst,                1, 0) AS ?is_oproep )
122      BIND( IF(?type_overeenkomst = onz-pers:ArbeidsOvereenkomstBBL,            1, 0) AS ?is_bbl )
123      BIND( IF(?type_overeenkomst = onz-pers:InhuurOvereenkomst,                1, 0) AS ?is_inhuur )
124      BIND( IF(?type_overeenkomst = onz-pers:UitzendOvereenkomst,               1, 0) AS ?is_uitzend )
125      BIND( IF(?type_overeenkomst = onz-pers:StageOvereenkomst,                 1, 0) AS ?is_stage )
126      BIND( IF(?type_overeenkomst = onz-pers:VrijwilligersOvereenkomst,         1, 0) AS ?is_vrijw )
127    }
128    GROUP BY ?Periode ?vestiging ?zk_regio_code ?kwalificatie_niveau ?persoon
129  }
130}
131GROUP BY ?Periode ?vestiging ?zk_regio_code ?kwalificatie_niveau
132ORDER BY ?Periode ?Indeling ?kwalificatie_niveau
133